package jsd2302.src.exception;

/**
 * java异常处理机制:try.....catch
 * try{
 *     代码片段
 * }catch（xxxEception e）{
 *     当try的代码片段出现XXXEception
 * }
 *
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了！");

        try {
            //try语句中如果出现了异常，那么出错代码以下的代码都不执行了
            //String line = null;
            //System.out.println(line.length());//由JVM给new了个空指针异常出来

            //String line="";
            //System.out.println(line.charAt(0));

            String line="abc";
            System.out.println(Integer.parseInt(line));
        }catch(NullPointerException e){
            System.out.println("出现空指针异常并解决了");//针对try中出现空指针异常的解决办法
        }catch(StringIndexOutOfBoundsException e){
            System.out.println("出现下标越界异常，并解决了");
        }catch(Exception e){//可以在最后捕获超类型异常，凡是该异常的子类型都可以被捕获并处理
            System.out.println("出错了");
        }
        System.out.println("程序结束了！");
    }
}
